#ifndef _MYTBF_H_
#define _MYTBF_H_

#define MYTBF_MAX 1024

typedef void mytbf_t;

/*
 \brief 基于令牌桶的流量控制模块初始化
 \param cps:速率，单位：个/秒
 \param burst:令牌桶内令牌个数上限
*/
mytbf_t* mytbf_init(int cps, int burst);

/*
 \brief 取令牌
 \param tbf:令牌桶实例
 \param size:令牌个数
*/
int mytbf_fetch_token(mytbf_t* tbf, int size);

/*
 \brief 还令牌
 \param tbf:令牌桶实例
 \param size:令牌个数
*/
int mytbf_return_token(mytbf_t* tbf, int size);

/*
 \brief 销毁释放令牌桶
 \param tbf:令牌桶实例
*/
int mytbf_destroy(mytbf_t* tbf);

#endif